Integrated dimensioning and weighing system

ABSTRACT

An object analysis system includes a scale for measuring the weight of the object, a range camera configured to produce a range image of an area in which the object is located, and a computing device configured to determine the dimensions of the object based, at least in part, on the range image. Methods for determining the dimensions of an object include capturing a range image and/or a visible image of a scene that includes the object.

CROSS-REFERENCE TO PRIORITY APPLICATION

This application hereby claims the benefit of pending U.S. ProvisionalPatent Application No. 61/714,394 for an “Integrated Dimensioning andWeighing System” (filed Oct. 16, 2012 at the United States Patent andTrademark Office), which is hereby incorporated by reference in itsentirety.

FIELD OF THE INVENTION

The present invention relates to the field of devices for weighing anddimensioning packages, more specifically, to an integrated dimensioningand weighing system for packages.

BACKGROUND

Shipping companies typically charge customers for their services basedon package size (i.e., volumetric weight) and/or weight (i.e., deadweight). When printing a shipping label for a package to be shipped, acustomer enters both the size and weight of the package into a softwareapplication that bills the customer based on the information. Typically,customers get this information by hand-measuring package's dimensions(e.g., with a tape measure) and may weigh the package on a scale. Insome cases, customers simply guess the weight of the package. Bothguessing of the weight and hand-measurement of dimensions are prone toerror, particularly when packages have irregular shape. When theshipping company determines, at a later time, that the package is largerand/or heavier than reported by the customer, an additional bill may beissued to the customer. Additional bills may reduce customersatisfaction, and, if the shipping customer is a retail company who hasalready passed along the shipping cost to an end customer, decrease thecustomer's earnings.

Furthermore, shipping companies may also collect the package's origin,destination, and linear dimensions from a customer to determine thecorrect charges for shipping a package. Manual entry of this informationby a customer or the shipping company is also error prone.

As such, there is a commercial need for systems that accurately collecta package's size, weight, linear dimensions, origin, and destination andfor integration with billing systems to reduce errors in transcribingthat data.

SUMMARY

Accordingly, in one aspect, the present invention embraces an objectanalysis system. The system includes a scale for measuring the weight ofthe object, a range camera configured to produce a range image of anarea in which the object is located, and a computing device configuredto determine the dimensions of the object based, at least in part, onthe range image.

In an exemplary embodiment, the range camera is configured to produce avisible image of the scale's measured weight of the object and thecomputing device is configured to determine the weight of the objectbased, at least in part, on the visible image. The scale may be ananalog scale having a gauge and the visible image produced by the rangecamera includes the scale's gauge. Alternatively, the scale may be adigital scale having a display and the visible image produced by therange camera includes the scale's display.

In yet another exemplary embodiment, the computing device is configuredto execute shipment billing software.

In yet another exemplary embodiment, the object analysis systemtransmits the weight of the object and determined dimensions to a hostplatform configured to execute shipment billing software.

In yet another exemplary embodiment, the object analysis system includesa microphone for capturing audio from a user and the computing device isconfigured for converting the captured audio to text.

In yet another exemplary embodiment, the range camera is configured toproject a visible laser pattern onto the object and produce a visibleimage of the object and the computing device is configured to determinethe dimensions of the object based, at least in part, on the visibleimage of the object.

In yet another exemplary embodiment, the scale and the range camera arefixed in position and orientation relative to each other and thecomputing device is configured to determine the dimensions of the objectbased, at least in part, on ground plane data of the area in which theobject is located. The ground plane data may be generated by capturingan initial range image and identifying a planar region in the initialrange image that corresponds to a ground plane.

In another aspect, the present invention embraces a method fordetermining the dimensions of an object that includes capturing a rangeimage of a scene that includes the object and determining the dimensionsof the object based, at least in part, on the range image and groundplane data of the area in which the object is located.

In yet another aspect, the present invention embraces a terminal formeasuring at least one dimension of an object that includes a rangecamera, a visible camera, a display that are fixed in position andorientation relative to each other. The range camera is configured toproduce a range image of an area in which the object is located. Thevisible camera is configured to produce a visible image of an area inwhich the object is located. The display is configured to presentinformation associated with the range camera's field of view and thevisible camera's field of view.

In an exemplary embodiment, the range camera's field of view is narrowerthan the visible camera's field of view and the display is configured topresent the visible image produced by the visible camera and an outlinedshape on the displayed visible image corresponding to the range camera'sfield of view.

In another exemplary embodiment, the display is configured to presentthe visible image produced by the visible camera and a symbol on thedisplayed visible image corresponding to the optical center of the rangecamera's field of view.

In yet another aspect, the present invention embraces a method fordetermining the dimensions of an object that includes projecting a laserpattern (e.g., a visible laser pattern) onto the object, capturing animage of the projected pattern on the object, and determining thedimensions of the objection based, at least in part, on the capturedimage.

The foregoing illustrative summary, as well as other exemplaryobjectives and/or advantages of the invention, and the manner in whichthe same are accomplished, are further explained within the followingdetailed description and its accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an object analysis system in accordance with one ormore exemplary embodiments.

FIG. 2 illustrates a system for determining dimensions associated withan object in accordance with one or more embodiments of the presentdisclosure.

FIG. 3 illustrates a method for determining dimensions associated withan object in accordance with one or more embodiments of the presentdisclosure.

FIG. 4 is a schematic physical form view of one embodiment of a terminalin accordance with aspects of the present invention.

FIG. 5 is a block diagram of the terminal of FIG. 4.

FIG. 6 is a diagrammatic illustration of one embodiment of an imagingsubsystem for use in the terminal of FIG. 4.

FIG. 7 is a flowchart illustrating one embodiment of a method formeasuring at least one dimension of an object using the terminal of FIG.4.

FIG. 8 is an illustration of a first image of the object obtained usingthe fixed imaging subsystem of FIG. 6.

FIG. 9 is a view of the terminal of FIG. 4 illustrating on the displaythe object disposed in the center of the display for use in obtainingthe first image of FIG. 8.

FIG. 10 is a second aligned image of the object obtained using themovable imaging subsystem of FIG. 6.

FIG. 11 is a diagrammatic illustration of the geometry between an objectand the image of the object on an image sensor array.

FIG. 12 is a diagrammatic illustration of another embodiment of animaging subsystem for use in the terminal of FIG. 4, which terminal mayinclude an aimer.

FIG. 13 is a diagrammatic illustration of another embodiment of a singlemovable imaging subsystem and actuator for use in the terminal of FIG.4.

FIG. 14 is an elevational side view of one implementation of an imagingsubsystem and actuator for use in the terminal of FIG. 4.

FIG. 15 is a top view of the imaging subsystem and actuator of FIG. 14.

FIG. 16 is a timing diagram illustrating one embodiment for use indetermining one or more dimensions and for decoding a decodableperformed by the indicia reading terminal of FIG. 4.

FIG. 17 depicts the near field relationship between a laser pattern anda camera system's field of view as employed in an exemplary method.

FIG. 18 depicts the far field relationship between a laser pattern and acamera system's field of view as employed in an exemplary method.

FIG. 19 depicts an exemplary arrangement of a standard rectilinearbox-shaped object on a flat surface upon which a laser pattern has beenprojected in accordance with an exemplary method.

FIG. 20 schematically depicts a relationship between the width of alaser line and the size of the field of view of a small number of pixelswithin a camera system.

DETAILED DESCRIPTION

The present invention embraces a system that accurately collects apackage's size, weight, linear dimensions, origin, and destination andthat may be integrated with billing systems to reduce errors intranscribing that data.

In one aspect, the present invention embraces an object analysis system.FIG. 1 illustrates an exemplary object analysis system 11. As depicted,the system 11 includes a scale 12, a range camera 102, a computingdevice 104, and a microphone 18. Typically, the scale 12 measures theweight of the object 112, the range camera 102 is configured to producea range image of an area 110 in which the object is located, and thecomputing device 104 is configured to determine the dimensions of theobject 112 based, at least in part, on the range image.

As noted, the scale 12 measures the weight of the object 112. Exemplaryscales 12 include analog scales having gauges or and digital scaleshaving displays. The scale 12 of FIG. 1 includes a window 13 for showingthe measured weight of the object 112. The window 13 may be a gauge ordisplay depending on the type of scale 12.

The scale 12 also includes top surface markings 14 to guide a user toplace the object in a preferred orientation for analysis by the system.For example, a particular orientation may improve the range image and/orvisible image produced by range camera 102. Additionally, the scale mayinclude top surface markings 16 to facilitate the computing device'sestimation of a reference plane during the process of determining thedimensions of the object 112.

In exemplary embodiments, the scale 12 transmits the measured weight ofthe object 112 to the computing device 104 and/or a host platform 17. Inthis regard, the scale 12 may transmit this information via a wirelessconnection and/or a wired connection (e.g., a USB connection, such as aUSB 1.0, 2.0, and/or 3.0).

As noted, the object analysis system 11 includes a range camera 102 thatis configured to produce a range image of an area 110 in which theobject 112 is located. In exemplary embodiments, the range camera 102 isalso configured to produce a visible image of the scale's measuredweight of the object 112 (e.g., a visible image that includes window13). The range camera 102 may be separate from the computing device 104,or the range camera 102 and the computing device 104 may be part of thesame device. The range camera 102 is typically communicatively connectedto the computing device 104.

The depicted object analysis system 11 includes a microphone 18. Themicrophone 18 may be separate from the range camera 102, or themicrophone 18 and the range camera 102 may be part of the same device.Similarly, the microphone 18 may be separate from the computing device104, or the microphone 18 and the computing device 104 may be part ofthe same device.

The microphone 18 captures audio from a user of the object analysissystem 11, which may then be converted to text (e.g., ASCII text). Inexemplary embodiments, the text may be presented to the user via auser-interface for validation or correction (e.g., by displaying thetext on a monitor or by having a computerized reader speak the wordsback to the user). The text is typically used as an input for software(e.g., billing software and/or dimensioning software). For example, thetext (i.e., as generated by converting audio from the user) may be anaddress, in which case the computing device may be configured todetermine the components of the address. In this regard, exemplaryobject analysis systems reduce the need for error-prone manual entry ofdata.

Additionally, the text may be used as a command to direct software(e.g., billing software and/or dimensioning software). For example, ifmultiple objects are detected in the range camera's field of view, auser interface may indicate a numbering for each object and ask the userwhich package should be dimensioned. The user could then give a verbalcommand by saying a number, and the audio as captured by the microphone18 can be converted into text which commands the dimensioning software.Similarly, the user could give verbal commands to describe the generalclass of the object (e.g., “measure a box”) or to indicate the type ofinformation being provided (e.g., a command of “destination address” toindicate that an address will be provided next).

The computing device 104 may be configured for converting the audiocaptured by the microphone 18 to text. Additionally, the computingdevice 104 may be configured to transmit the captured audio (e.g., as afile or a live stream) to a speech-to-text module and receive the text.The captured audio may be transcoded as necessary by the computingdevice 104. The computing device 104 may or may not include thespeech-to-text module. For example, the computing device 104 maytransmit (e.g., via a network connection) the captured audio to anexternal speech-to-text service provider (e.g., Google's cloud-basedspeech-to-text service). In exemplary embodiments, the speech-to-textmodule transmits the text and a confidence measure of each convertedphrase. The computing device 104 may be configured to enter the textinto shipment billing software (e.g., by transmitting the text to a hostplatform 17 configured to execute shipment billing software).

As noted, the object analysis system 11 includes a computing device 104.The computing device 104 depicted in FIG. 1 includes a processor 106 anda memory 108. Additional aspects of processor 106 and memory 108 arediscussed with respect to FIG. 2. Memory 108 can store executableinstructions, such as, for example, computer readable instructions(e.g., software), that can be executed by processor 106. Although notillustrated in FIG. 1, memory 108 can be coupled to processor 106.

The computing device 104 is configured to determine the dimensions of anobject 112 based, at least in part, on a range image produced by rangecamera 102. Exemplary methods of determining the dimensions of an object112 are discussed with respect to FIGS. 2-16. The computing device 104may also be configured to determine the weight of an object 112 based,at least in part, on a visible image produced by range camera 102. Forexample, the computing device 104 may execute software that processesthe visible image to read the weight measured by the scale 12.

The computing device 104 may be configured to calculate the density ofthe object 112 based on its determined dimensions and weight.Furthermore, the computing device 104 may be configured to compare thecalculated density to a realistic density threshold (e.g., aspreprogrammed data or tables). If the calculated density exceeds a givenrealistic density threshold, the computing device 104 may: re-determinethe dimensions of the object 112 based on the range image; instruct therange camera 102 to produce a new range image; instruct the range camera102 to produce a new visible image and/or instruct the scale 12 tore-measure the object 112.

The computing device 104 may also be configured to compare thedetermined dimensions of the object 112 with the dimensions of the scale12. In this regard, the scale's dimensions may be known (e.g., aspreprogrammed data or tables), and the computing device 104 may beconfigured to determine the dimensions of the object based on the rangeimage and the known dimensions of the scale 12. Again, if the determineddimensions exceed a given threshold of comparison, the computing device104 may: re-determine the dimensions of the object 112 based on therange image; instruct the range camera 102 to produce a new range image;instruct the range camera 102 to produce a new visible image and/orinstruct the scale 12 to re-measure the object 112.

In exemplary embodiments, the computing device 104 may be configured toexecute shipment billing software. In such embodiments, the computingdevice 104 may be a part of the same device as the host platform 17, orthe object analysis system 11 may not include a host platform 17.

Alternatively, the object analysis system 11 may transmit (e.g., via awireless connection and/or a wired connection, such as a USB connection)the weight of the object 112 and determined dimensions to a hostplatform 17 configured to execute shipment billing software. Forexample, the computing device 104 may transmit the weight of the object112 and determined dimensions to the host platform 17.

In exemplary embodiments, the range camera 102 is configured to projecta laser pattern (e.g., a visible laser pattern) onto the object 112 andproduce a visible image of the object 112, and the computing device 104is configured to determine the dimensions of the object 112 based, atleast in part, on the visible image of the object 112. In this regard,the projection of the laser pattern on the object 112 providesadditional information or an alternative or supplemental method fordetermining the dimensions of the object 112. Furthermore, the laserpattern will facilitate user-placement of the object with respect to therange camera.

An exemplary object analysis system 11 includes a scale 12 and a rangecamera 102 that are fixed in position and orientation relative to eachother. The computing device 104 of such an exemplary object analysissystem 11 may be configured to determine the dimensions of the object112 based, at least in part, on ground plane data of the area 110 inwhich the object is located. The ground plane data may include datagenerated by capturing an initial range image and identifying a planarregion in the initial range image that corresponds to a ground plane.

The ground plane data may be stored on the computing device 104 duringmanufacturing after calibrating the object analysis system 11. Theground plane data may also be updated by the computing device 104 afterinstallation of the object analysis system 11 or periodically during useby capturing an initial range image and identifying a planar region inthe initial range image that corresponds to a ground plane.

The computing device 104 may be configured to verify the validity of theground plane data by identifying a planar region in the range imageproduced by the range camera 102 that corresponds to a ground plane. Ifthe ground plane data does not correspond to the identified planarregion in the range image, the computing device 104 may update theground plane data.

In exemplary embodiments, the computing device 104 may be configured tocontrol the object analysis system in accordance with multiple modes.While in a detection mode, the computing device 104 may be configured toevaluate image viability and/or quality (e.g., of an infra-red image orvisible image) in response to movement or the placement of an object inthe range camera's field of view. Based on the evaluation of the imageviability and/or quality, the computing device 104 may be configured toplace the object analysis system in another mode, such as an imagecapture mode for capturing an image using the range camera 102 or anadjust mode for adjusting the position of the range camera 102.

In exemplary embodiments, the object analysis system may includepositioning devices, (e.g., servo motors, tilt motors, and/or three-axisaccelerometers) to change the position of the range camera relative tothe object. In this regard, the computing device 104 may be configuredto control and receive signals from the positioning devices. Afterevaluating image viability and/or quality, the computing device mayplace the object analysis system in an adjust mode. The computing devicemay be configured to have two adjust modes, semiautomatic and automatic.In semiautomatic adjust mode, the computing device may be configured toprovide visual or audio feedback to an operator that then moves therange camera (e.g., adjusts the camera's tilt angle and/or height). Inautomatic mode, the computing device may be configured to control andreceive signals from the positioning devices to adjust the position ofthe range camera. By adjusting the position of the range camera, theobject analysis system can achieve higher dimensioning accuracy.

In another aspect, the present invention embraces a method fordetermining the dimensions of an object. The method includes capturingan image of a scene that includes the object and determining thedimensions of the object based, at least in part, on the range image andground plane data of the area in which the object is located. As notedwith respect to an exemplary object analysis system, the ground planedata may include data generated by capturing an initial range image andidentifying a planar region in the initial range image that correspondsto a ground plane. The method may also include verifying the validity ofthe ground plane data by identifying a planar region in the range imagethat corresponds to a ground plane.

This exemplary method for determining the dimensions of an object istypically used in conjunction with a range camera on a fixed mount at agiven distance and orientation with respect to the area in which theobject is placed for dimensioning. In this regard, utilizing the groundplane data, rather than identifying the ground plane for eachimplementation of the method, can reduce the time and resources requiredto determine the dimensions of the object.

In yet another aspect, the present invention embraces another method fordetermining the dimensions of an object. The method includes projectinga laser pattern (e.g., a visible laser pattern) onto an object,capturing an image of the projected pattern on the object, anddetermining the dimensions of the object based, at least in part, on thecaptured image. In an exemplary embodiment, the object has a rectangularbox shape.

An exemplary method includes projecting a laser pattern (e.g., a grid ora set of lines) onto a rectangular box. Typically, the box is positionedsuch that two non-parallel faces are visible to the system or deviceprojecting the laser pattern and a camera system with known field ofview characteristics. The camera system is used to capture an image ofthe laser light reflecting off of the box. Using image analysistechniques (e.g., imaging software), the edges of the box aredetermined. The relative size and orientation of the faces is determinedby comparing the distance between lines of the laser pattern in thecaptured image to the known distance between the lines of the laserpattern as projected while considering the characteristics of the camerasystem's field of view, such as size, aspect ratio, distortion, and/orangular magnification.

The distance from the camera system to the box may also be desired andmay be used to determine the dimensions of the box. The distance betweenthe camera system and the box can be determined using a variety ofmethods. For example, the distance from the camera system to the box maybe determined from the laser pattern and the camera system's field ofview. Additionally, sonar ranging techniques or considering the lighttime of flight may facilitate determination of this distance.

Another exemplary method includes projecting a laser pattern includingtwo horizontal, parallel lines and two vertical, parallel lines. Thedistance between each set of parallel lines is constant. In this regard,the laser pattern is collimated, producing a constant-size square orrectangle in the center of the laser pattern as it propagates away fromthe device that generated the laser pattern.

An exemplary laser pattern including two horizontal, parallel lines andtwo vertical, parallel lines is depicted in FIGS. 17 and 18. Theexemplary laser pattern is aligned to the field of view of the camerasystem, and the relationship between the laser pattern and the field ofview are determined. This relationship may be determined by a precisionalignment of the laser pattern to a known fixture pattern and/or asoftware calibration process may process two or more images from thecamera system. FIG. 17 depicts the approximated relationship between thelaser pattern and the camera's near-field field of view, and FIG. 18depicts the approximated relationship between the laser pattern and thecamera's far-field field of view.

The exemplary method typically includes projecting the laser patternonto two faces of a standard rectilinear box-shaped object such that thetwo horizontal laser lines are parallel to and on opposite side of theedge connecting the two faces (i.e., one horizontal laser line above theedge and the other horizontal line below the edge). Additionally, thelaser pattern is typically projected such that the laser pattern fullytraverses the visible faces of the object.

FIG. 19 depicts an exemplary arrangement of a standard rectilinearbox-shaped object 5001 upon which a laser pattern 5002 has beenprojected. As depicted, the two horizontal laser lines are parallel toand on opposite sides of the edge connecting the two faces.Additionally, the laser pattern 5002 fully traverse the visible faces ofthe object 5001. Accordingly, a number of break points, typically tenbreak points, are formed in the projected laser pattern 5002. Thesebreak points are identified in FIG. 19 by open circles.

The exemplary method includes capturing an image of the projected laserpattern on the object (e.g., with a camera system). The dimensions ofthe object are then determined, at least in part, from the capturedimage. For example, a processor may be used to process the image toidentify the break points in the projected laser pattern. Using theknown relationship between the laser pattern and the field of view, thebreak points may be translated into coordinates in a three-dimensionalspace. Typically, any two break points which are connected by a laserline segment can be used to calculate a dimension of the object.

In an exemplary embodiment, the method includes determining thecoordinates of the break points in a three-dimensional space based onthe known size of the central rectangle (e.g., a square). In otherwords, the known size of the rectangle is used as a ruler or measuringstick in the image to determine the dimensions of the object.

Exemplary methods include projecting a laser pattern including laserlines having a profile with a small divergence angle. In other words,the width of the laser lines increases as the distance from the deviceprojecting the pattern increases. The divergence angle is typicallybetween about 1 and 30 milliradians (e.g., between about 2 and 20milliradians). In an exemplary embodiment, the divergence angle isbetween about 3 and 10 milliradians (e.g., about 6 milliradians).

In exemplary embodiments, the laser lines' divergence angle correspondsto the divergence of a small number of pixels (e.g., between about 2 and10 pixels) within the camera system used to capture an image. Thus, asthe field of view of this small number of pixels expands with increasingdistance from the camera system, the width of the laser lines increasesat a similar rate. Accordingly, the width of the laser lines coversapproximately the same number of pixels, although not necessarily thesame set of pixels, regardless of the projected laser pattern's distancefrom the camera system.

In another exemplary embodiment, the laser pattern includes laser lineshaving a profile with a divergence angle such that the width of thelaser line in the far field corresponds to the field of view of a smallnumber of pixels in the far field. In this regard, the divergence angleof the laser lines does not necessarily match the field of view of thesmall number of pixels in the near field. FIG. 20 schematically depictssuch a relationship between the laser lines' width and the field of viewof a small number of pixels within a camera system. The depicted device6000 includes the camera system and a laser projecting module.

Exemplary methods utilizing a laser pattern that includes laser lineshaving a profile with a small divergence angle prevents the loss ofresolution in the far field. When projected laser lines areconventionally collimated, the laser lines appear increasingly thinneron a target object as the distance between the laser projection moduleand the target object increases. If the reflected light from a projectedlaser line falls on an area of the camera system's sensor that isapproximately one pixel wide or smaller, the precision of thedimensioning method can be no greater than one pixel. In contrast, whenprojected laser lines have a profile with a small divergence angle, theprojected line has an energy distribution encompassing multiple pixelsfacilitating a more precise determination of the center of the projectedline. Accordingly, methods employing projected laser lines having aprofile with a small divergence angle facilitate measurements thatexceed the resolution of the camera pixel sampling.

In yet another aspect, the present invention embraces a terminal formeasuring at least one dimension of an object. The terminal includes arange camera, a visible camera (e.g., a grayscale and/or RGB sensor),and a display that are fixed in position and orientation relative toeach other. The range camera is configured to produce a range image ofan area in which an object is located, and the visible camera isconfigured to produce a visible image of an area in which the object islocated. The display is configured to present information associatedwith the range camera's field of view and the visible camera's field ofview.

Typically, the range camera's field of view is narrower than the visiblecamera's field of view. To facilitate accurate dimensioning, the displayis configured to present the visible image produced by the visiblecamera and an outlined shape on the displayed visible imagecorresponding to the range camera's field of view (e.g., a rectangle).The outlined shape shows the user of the terminal when the object to bedimensioned is within the range camera's field of view. In other words,the interior of the outlined shape typically corresponds to theintersection or overlap between the visible image and the range image.

In exemplary embodiments, the display is configured to presentinformation associated with the optimal orientation of the range cameraand visible camera with respect to the object. Such information furtherfacilitates accurate dimensioning by encouraging the user to adjust theorientation of the terminal to an orientation that accelerates orimproves the dimensioning process.

The display may be configured to present the visible image produced bythe visible camera and a symbol on the displayed visible imagecorresponding to the optical center of the range camera's field of view.Again, presenting such a symbol on the display facilitates accuratedimensioning by encouraging the user to adjust the orientation of theterminal to an orientation that accelerates or improves the dimensioningprocess.

In exemplary embodiments, the symbol shown by the display is a crosshairtarget having three prongs. When the object is a rectangular box, thedisplay may be configured to show the three prongs of the crosshairs onthe displayed visible image in an orientation that corresponds to theoptimal orientation of the range camera and visible camera with respectto a corner of the rectangular box.

When the object to be dimensioned is cylindrically shaped (e.g., havinga medial axis and base), the display may be configured to show thevisible image produced by the visible camera and a line on the displayedvisible image in an orientation that corresponds to the optimalorientation of the range camera and visible camera with respect to themedial axis of the object. The display may also be configured to showthe visible image produced by the visible camera and an ellipse on thedisplayed visible image in an orientation that corresponds to theoptimal orientation of the range camera and visible camera with respectto the base of the object.

As noted, the configuration of the terminal's display presentsinformation associated with the range camera's field of view and thevisible camera's field of view. The information helps the user determinethe three degrees of freedom and/or the three degrees of freedom fortranslation of the camera relative to the object that will ensure or atleast facilitate an accurate measurement of the object.

In exemplary embodiments, the terminal may include a processor that isconfigured to automatically initiate a dimensioning method when theorientation of the terminal with respect to an object corresponds to anorientation that accelerates or improves the dimensioning process.Automatically initiating the dimensioning method in this manner preventsany undesirable motion of the terminal that may be induced when anoperator presses a button or other input device on the terminal.Additionally, automatically initiating the dimensioning method typicallyimproves the accuracy of the dimensioning method.

As noted, the terminal's display may be configured to presentinformation associated with the optimal orientation of the range cameraand visible camera with respect to the object. The terminal's processormay be configured to analyze the output of the display (i.e., thevisible image and the information associated with the optimalorientation) and initiate the dimensioning method (e.g., includingcapturing a range image) when the orientation information and thevisible image align. The terminal's processor may be configured toanalyze the output of the display using imaged-based edge detectionmethods (e.g., a Canny edge detector).

For example, if the orientation information presented by the display isa crosshair target having three prongs, the processor may be configuredto analyze the output of the display using edge detection methods and,when the combined edge strengths of the three prongs and three of theobject's edges (i.e., at a corner) exceed a threshold, the processorautomatically initiates a dimensioning method. In other words, when thethree prongs align with the object's edges, the processor automaticallyinitiates a dimensioning method. Typically, the edge detection methodsare only applied in the central part of the display's output image(i.e., near the displayed orientation information) to reduce the amountof computation.

In exemplary embodiments, the display is configured to presentinformation associated with the optimal distance of the terminal fromthe object. Such information further facilitates accurate dimensioningby encouraging the user to position the terminal at a distance from theobject that accelerates or improves the dimensioning process. Forexample, the range camera of the terminal typically has a shorter depthof view than does the visible camera. Additionally, when objects arevery close to the terminal the range camera typically does not work asaccurately, but the visible camera functions normally. Thus, whenviewing the visible image produced by the visible camera on the display,objects outside of the range camera's optimal range (i.e., either tooclose or too far from the terminal to accurately determine the object'sdimensions) appear normal.

Accordingly, the display may be configured to present the visible imageproduced by the visible camera modified such that portions of thevisible image corresponding to portions of the range image with highvalues (e.g., distances beyond the range camera's optimal range) aredegraded (e.g., a percentage of the pixels corresponding to the rangeimage's high values are converted to a different color, such as white orgrey). The amount of degradation (e.g., the percentage of pixelsconverted) typically corresponds to the range image's value beyond theupper end of the range camera's optimal range. In other words, theamount of degradation occurs such that the clarity of objects in thedisplayed visible image corresponds to the range camera's ability todetermine the object's dimensions. The amount of degradation may beginat a certain low level corresponding to a threshold distance from theterminal, increase linearly up to a maximum distance after which thedegradation is such that the visible image is no longer displayed (e.g.,only grey or white is depicted).

Similarly, the display may be configured to present the visible imageproduced by the visible camera modified such that portions of thevisible image corresponding to portions of the range image with lowvalues (e.g., distances less than the range camera's optimal range) aredegraded (e.g., a percentage of the pixels corresponding to the rangeimage's high values are converted to a different color, such as black orgrey). The amount of degradation (e.g., the percentage of pixelsconverted) may correspond to the range image's value under the lower endof the range camera's optimal range. Typically, the degradation iscomplete (i.e., only black or grey) if the range image's value is lessthan the lower end of the range camera's optimal range. Additionalaspects of an exemplary terminal and dimensioning method are describedherein with respect to FIGS. 4-16.

An exemplary method of determining the dimensions of an object using arange camera is described in U.S. patent application Ser. No. 13/278,559filed at the U.S. Patent and Trademark Office on Oct. 21, 2011 andtitled “Determining Dimensions Associated with an Object,” which ishereby incorporated by reference in its entirety.

In this regard, devices, methods, and systems for determining dimensionsassociated with an object are described herein. For example, one or moreembodiments include a range camera configured to produce a range imageof an area in which the object is located, and a computing deviceconfigured to determine the dimensions of the object based, at least inpart, on the range image.

One or more embodiments of the present disclosure can increase theautomation involved in determining the dimensions associated with (e.g.,of) an object (e.g., a box or package to be shipped by a shippingcompany). For example, one or more embodiments of the present disclosuremay not involve an employee of the shipping company physicallycontacting the object during measurement (e.g., may not involve theemployee manually measuring the object and/or manually entering themeasurements into a computing system) to determine its dimensions.Accordingly, one or more embodiments of the present disclosure candecrease and/or eliminate the involvement of an employee of the shippingcompany in determining the dimensions of the object. This can, forexample, increase the productivity of the employee, decrease the amountof time involved in determining the object's dimensions, reduce and/oreliminate errors in determining the object's dimensions (e.g., increasethe accuracy of the determined dimensions), and/or enable a customer tocheck in and/or pay for a package's shipping at an automated station(e.g., without the help of an employee), among other benefits.

In the following description, reference is made to FIGS. 2 and 3 thatform a part hereof. The drawings show by way of illustration how one ormore embodiments of the disclosure may be practiced. These embodimentsare described in sufficient detail to enable those of ordinary skill inthe art to practice one or more embodiments of this disclosure. It is tobe understood that other embodiments may be utilized and that process,electrical, and/or structural changes may be made without departing fromthe scope of the present disclosure.

As will be appreciated, elements shown in the various embodiments hereincan be added, exchanged, combined, and/or eliminated so as to provide anumber of additional embodiments of the present disclosure. Theproportion and the relative scale of the elements provided in FIGS. 2and 3 are intended to illustrate the embodiments of the presentdisclosure, and should not be taken in a limiting sense. As used in thedisclosure of this exemplary dimensioning method, “a” or “a number of”something can refer to one or more such things. For example, “a numberof planar regions” can refer to one or more planar regions.

FIG. 2 illustrates a system 114 for determining dimensions associatedwith (e.g., of) an object 112 in accordance with one or more embodimentsof the present disclosure of this exemplary dimensioning method. In theembodiment illustrated in FIG. 2, object 112 is a rectangular shaped box(e.g., a rectangular shaped package). However, embodiments of thepresent disclosure are not limited to a particular object shape, objectscale, or type of object. For example, in some embodiments, object 112can be a cylindrical shaped package. As an additional example, object112 could be a rectangular shaped box with one or more arbitrarilydamaged faces.

As shown in FIG. 2, system 114 includes a range camera 102 and acomputing device 104. In the embodiment illustrated in FIG. 2, rangecamera 102 is separate from computing device 104 (e.g., range camera 102and computing device 104 are separate devices). However, embodiments ofthe present disclosure are not so limited. For example, in someembodiments, range camera 102 and computing device 104 can be part ofthe same device (e.g., range camera 102 can include computing device104, or vice versa). Range camera 102 and computing device 104 can becoupled by and/or communicate via any suitable wired or wirelessconnection (not shown in FIG. 2).

As shown in FIG. 2, computing device 104 includes a processor 106 and amemory 108. Memory 108 can store executable instructions, such as, forexample, computer readable instructions (e.g., software), that can beexecuted by processor 106. Although not illustrated in FIG. 2, memory108 can be coupled to processor 106.

Memory 108 can be volatile or nonvolatile memory. Memory 108 can also beremovable (e.g., portable) memory, or non-removable (e.g., internal)memory. For example, memory 108 can be random access memory (RAM) (e.g.,dynamic random access memory (DRAM) and/or phase change random accessmemory (PCRA)), read-only memory (ROM) (e.g., electrically erasableprogrammable read-only memory (EEPROM) and/or compact-disc read-onlymemory (CD-ROM)), flash memory, a laser disc, a digital versatile disc(DVO) or other optical disk storage, and/or a magnetic medium such asmagnetic cassettes, tapes, or disks, among other types of memory.

Further, although memory 108 is illustrated as being located incomputing device 104, embodiments of the present disclosure are not solimited. For example, memory 108 can also be located internal to anothercomputing resource (e.g., enabling computer readable instructions to bedownloaded over the Internet or another wired or wireless connection).

In some embodiments, range camera 102 can be part of a handheld and/orportable device, such as a barcode scanner. In some embodiments, rangecamera 102 can be mounted on a tripod.

Range camera 102 can produce (e.g., capture, acquire, and/or generate) arange image of an area (e.g., scene). Range camera 102 can produce therange image of the area using, for example, structured near-infrared(near-IR) illumination, among other techniques for producing rangeimages.

The range image can be a two-dimensional image that shows the distanceto different points in the area from a specific point (e.g., from therange camera). The distance can be conveyed in real-world units (e.g.,metric units such as meters or millimeters), or the distance can be aninteger value (e.g., 11-bit) that can be converted to real-world units.The range image can be a two-dimensional matrix with one channel thatcan hold integers or floating point values. For instance, the rangeimage can be visualized as different black and white shadings (e.g.,different intensities, brightnesses, and/or darknesses) and/or differentcolors in any color space (e.g., RGB or HSV) that correspond todifferent distances between the range camera and different points in thearea.

For example, range camera 102 can produce a range image of an area(e.g., area 110 illustrated in FIG. 2) in which object 112 is located.That is, range camera 102 can produce a range image of an area thatincludes object 112.

Range camera 102 can be located a distance d from object 112 when rangecamera 102 produces the range image, as illustrated in FIG. 2. Distanced can be, for instance, 0.75 to 5.0 meters. However, embodiments of thepresent disclosure are not limited to a particular distance betweenrange camera 102 and object 112.

The range image produced by range camera 102 can be visualized as blackand white shadings corresponding to different distances between rangecamera 102 and different portions of object 112. For example, thedarkness of the shading can increase as the distance between rangecamera 102 and the different portions of object 112 decreases (e.g., thecloser a portion of object 112 is to range camera 102, the darker theportion will appear in the range image). Additionally and/oralternatively, the range image can be visualized as different colorscorresponding to the different distances between range camera 102 andthe different portions of object 112. Computing device 104 can determinethe dimensions (e.g., the length, width, height, diameter, etc.) ofobject 112 based, at least in part, on the range image produced by rangecamera 102. For instance, processor 106 can execute executableinstructions stored in memory 108 to determine the dimensions of object112 based, at least in part, on the range image.

For example, computing device 104 can identify a number of planarregions in the range image produced by range camera 102. The identifiedplanar regions may include planar regions that correspond to object 112(e.g., to surfaces of object 112). That is, computing device 104 canidentify planar regions in the range image that correspond to object112. For instance, in embodiments in which object 112 is a rectangularshaped box (e.g., the embodiment illustrated in FIG. 2), computingdevice 104 can identify two or three mutually orthogonal planar regionsthat correspond to surfaces (e.g., faces) of object 112 (e.g., the threesurfaces of object 112 shown in FIG. 2).

Once the planar regions that correspond to object 112 have beenidentified, computing device 104 can determine the dimensions of object112 based, at least in part, on the identified planar regions (e.g., onthe dimensions of the identified planar regions). For example, computingdevice 104 can determine the dimensions of the planar regions thatcorrespond to object 112. For instance, computing device 104 candetermine the dimensions of the planar regions that correspond to object112 based, at least in part, on the distances of the planar regionswithin the range image. Computing device 104 can then determine thedimensions of object 112 based, at least in part, on the dimensions ofthe planar regions.

Computing device 104 can identify the planar regions in the range imagethat correspond to object 112 by, for example, determining (e.g.,calculating) coordinates (e.g., real-world x, y, z coordinates inmillimeters) for each point (e.g., each row, column, and depth tuple) inthe range image. Intrinsic calibration parameters associated with rangecamera 102 can be used to convert each point in the range image into thereal-world coordinates. The system can undistort the range image using,for example, the distortion coefficients for the camera to correct forradial, tangential, and/or other types of lens distortion. In someembodiments, the two-dimensional matrix of the real-world coordinatesmay be downsized by a factor between 0.25 and 0.5.

Computing device 104 can then build a number of planar regions throughthe determined real-world coordinates. For example, a number of planarregions can be built near the points, wherein the planar regions mayinclude planes of best fit to the points. Computing device 104 canretain the planar regions that are within a particular (e.g.,pre-defined) size and/or a particular portion of the range image. Theplanar regions that are not within the particular size or the particularportion of the range image can be disregarded.

Computing device 104 can then upsample each of the planar regions (e.g.,the mask of each of the planar regions) that are within the particularsize and/or the particular portion of the range image to fit in an imageof the original (e.g., full) dimensions of the range image. Computingdevice 104 can then refine the planar regions to include only pointsthat lie within an upper bound from the planar regions.

Computing device 104 can then fit a polygon to each of the planarregions that are within the particular size and/or the particularportion of the range image, and retain the planar regions whose fittedpolygon has four vertices and is convex. These retained planar regionsare the planar regions that correspond to object 112 (e.g., to surfacesof object 112). The planar regions whose fitted polygon does not havefour vertices and/or is not convex can be disregarded. Computing device104 can also disregard the planar regions in the range image thatcorrespond to the ground plane and background clutter of area 110.

Computing device 104 can disregard (e.g., ignore) edge regions in therange image that correspond to the edges of area 110 while identifyingthe planar regions in the range image that correspond to object 112. Forexample, computing device 104 can run a three dimensional edge detectoron the range image before identifying planar regions in the range image,and can then disregard the detected edge regions while identifying theplanar regions. The edge detection can also identify non-uniform regionsthat can be disregarded while identifying the planar regions.

Once the planar regions that correspond to object 112 have beenidentified, computing device 104 can determine the dimensions of object112 based, at least in part, on the identified planar regions (e.g., onthe dimensions of the identified planar regions). For example, computingdevice 104 can determine the dimensions of object 112 by arranging theidentified planar regions (e.g., the planar regions whose fitted polygonhas four vertices and is convex) into a shape corresponding to the shapeof object 112, and determining a measure of centrality (e.g., anaverage) for the dimensions of clustered edges of the arranged shape.The dimensions of the edges of the arranged shape correspond to thedimensions of object 112.

Once the arranged shape (e.g., the bounding volume of the object) isconstructed, computing device 104 can perform (e.g., run) a number ofquality checks. For example, in embodiments in which object 112 is arectangular shaped box, computing device 104 can determine whether theidentified planar regions fit together into a rectangular arrangementthat approximates a true rectangular box within (e.g., below) aparticular error threshold.

In some embodiments, computing device 104 can include a user interface(not shown in FIG. 2). The user interface can include, for example, ascreen that can provide (e.g., display and/or present) information to auser of computing device 104. For example, the user interface canprovide the determined dimensions of object 112 to a user of computingdevice 104.

In some embodiments, computing device 104 can determine the volume ofobject 112 based, at least in part, on the determined dimensions ofobject 112. Computing device 104 can provide the determined volume to auser of computing device 104 via the user interface.

FIG. 3 illustrates a method 220 for determining dimensions associatedwith (e.g., of) an object in accordance with one or more embodiments ofthe present disclosure. The object can be, for example, object 112previously described in connection with FIG. 2. Method 220 can beperformed, for example, by computing device 104 previously described inconnection with FIG. 2.

At block 222, method 220 includes capturing a range image of a scenethat includes the object. The range image can be, for example, analogousto the range image previously described in connection with FIG. 2 (e.g.,the range image of the scene can be analogous to the range image of area110 illustrated in FIG. 2), and the range image can be captured in amanner analogous to that previously described in connection with FIG. 2.

At block 224, method 220 includes determining the dimensions (e.g., thelength, width, height, diameter, etc.) associated with the object based,at least in part, on the range image. For example, the dimensionsassociated with (e.g., of) the object can be determined in a manneranalogous to that previously described in connection with FIG. 2. Insome embodiments, the volume of the object can be determined based, atleast in part, on the determined dimensions associated with the object.

As an additional example, determining the dimensions associated with theobject can include determining the dimensions of the smallest volumerectangular box large enough to contain the object based, at least inpart, on the range image. The dimensions of the smallest volumerectangular box large enough to contain the object can be determined by,for example, determining and disregarding (e.g., masking out) theportion (e.g., part) of the range image containing information (e.g.,data) associated with (e.g., from) the ground plane of the scene thatincludes the object, determining (e.g., finding) the height of a planethat is parallel to the ground plane and above which the object does notextend, projecting additional (e.g., other) portions of the range imageon the ground plane, and determining (e.g., estimating) a boundingrectangle of the projected portions of the range image on the groundplane.

Although specific embodiments have been illustrated and describedherein, those of ordinary skill in the art will appreciate that anyarrangement calculated to achieve the same techniques can be substitutedfor the specific embodiments shown. This disclosure of exemplary methodsof determining the dimensions of an object is intended to cover any andall adaptations or variations of various embodiments of the disclosure.

An exemplary method of determining the dimensions of an object and anexemplary terminal for dimensioning objects are described in U.S. patentapplication Ser. No. 13/471,973 filed at the U.S. Patent and TrademarkOffice on May 15, 2012 and titled “Terminals and Methods forDimensioning Objects,” which is hereby incorporated by reference in itsentirety.

FIG. 4 illustrates one embodiment of a terminal 1000 operable formeasuring at least one dimension of an object 10 in accordance withaspects of the present invention. For example, terminal 1000 maydetermine a height H, a width W, and a depth D of an object. Inaddition, terminal 1000 may be operable to read a decodable indicia 15such as a barcode disposed on the object. For example, the terminal maybe suitable for shipping applications in which an object such as apackage is subject to shipping from one location to another location.The dimension (dimensioning) information and other measurement (e.g.,volume measurement information) respecting object 10 may be used, e.g.,to determine a cost for shipping a package or for determining a properarrangement of the package in a shipping container.

In one embodiment, a terminal in accordance with aspects of the presentinvention may include at least one or more imaging subsystems such asone or more camera modules and an actuator to adjust the pointing angleof the one or more camera modules to provide true stereo imaging. Theterminal may be operable to attempt to determine at least one of aheight, a width, and a depth based on effecting the adjustment of thepointing angle of the one or more camera modules.

For example, a terminal in accordance with aspects of the presentinvention may include at least one or more imaging subsystems such ascamera modules and an actuator based on wires of nickel-titanium shapememory alloy (SMA) and an associated control and heating ASIC(application-specific integrated circuit) to adjust the pointing angleof the one or more camera modules to provide true stereo imaging. Usingtrue stereo imaging, the distance to the package can be determined bymeasuring the amount of drive current or voltage drop across the SMAactuator. The terminal may be operable to attempt to determine at leastone of a height, a width, a depth, based on the actuator effecting theadjustment of the pointing angle of the one or more camera modules, themeasured distance, and the obtained image of the object.

With reference still to FIG. 4, terminal 1000 in one embodiment mayinclude a trigger 1220, a display 1222, a pointer mechanism 1224, and akeyboard 1226 disposed on a common side of a hand held housing 1014.Display 1222 and pointer mechanism 1224 in combination can be regardedas a user interface of terminal 1000. Terminal 1000 may incorporate agraphical user interface and may present buttons 1230, 1232, and 1234corresponding to various operating modes such as a setup mode, a spatialmeasurement mode, and an indicia decode mode, respectively. Display 1222in one embodiment can incorporate a touch panel for navigation andvirtual actuator selection in which case a user interface of terminal1000 can be provided by display 1222. Hand held housing 1014 of terminal1000 can in another embodiment be devoid of a display and can be in agun style form factor. The terminal may be an indicia reading terminaland may generally include hand held indicia reading terminals, fixedindicia reading terminals, and other terminals. Those of ordinary skillin the art will recognize that the present invention is applicable to avariety of other devices having an imaging subassembly which may beconfigured as, for example, mobile phones, cell phones, satellitephones, smart phones, telemetric devices, personal data assistants, andother devices.

FIG. 5 depicts a block diagram of one embodiment of terminal 1000.Terminal 1000 may generally include at least one imaging subsystem 900,an illumination subsystem 800, hand held housing 1014, a memory 1085,and a processor 1060. Imaging subsystem 900 may include an imagingoptics assembly 200 operable for focusing an image onto an image sensorpixel array 1033. An actuator 950 is operably connected to imagingsubsystem 900 for moving imaging subsystem 900 and operably connected toprocessor 1060 (FIG. 5) via interface 952. Hand held housing 1014 mayencapsulate illumination subsystem 800, imaging subsystem 900, andactuator 950. Memory 1085 is capable of storing and or capturing a frameof image data, in which the frame of image data may represent lightincident on image sensor array 1033. After an exposure period, a frameof image data can be read out. Analog image signals that are read out ofarray 1033 can be amplified by gain block 1036 converted into digitalform byanalog-to-digital converter 1037 and sent to DMA unit 1070. DMAunit 1070, in turn, can transfer digitized image data into volatilememory 1080. Processor 1060 can address one or more frames of image dataretained in volatile memory 1080 for processing of the frames fordetermining one or more dimensions of the object and/or for decoding ofdecodable indicia represented on the object.

FIG. 6 illustrates one embodiment of the imaging subsystem employable interminal 1000. In this exemplary embodiment, an imaging subsystem 2900may include a first fixed imaging subsystem 2210, and a second movableimaging subsystem 2220. An actuator 2300 may be operably connected toimaging subsystem 2220 for moving imaging subsystem 2220. First fixedimaging subsystem 2210 is operable for obtaining a first image or frameof image data of the object, and second movable imaging subsystem 2220is operable for obtaining a second image or frame of image data of theobject. Actuator 2300 is operable to bring the second image intoalignment with the first image as described in greater detail below. Inaddition, either the first fixed imaging subsystem 2210 or the secondmovable imaging subsystem 2220 may also be employed to obtain an imageof decodable indicia 15 (FIG. 4) such as a decodable barcode.

FIGS. 6-10 illustrate one embodiment of the terminal in a spatialmeasurement mode. For example, a spatial measurement mode may be madeactive by selection of button 1232 (FIG. 4). In a spatial measurementoperating mode, terminal 1000 (FIG. 4) can perform one or more spatialmeasurements, e.g., measurements to determine one or more of a terminalto target distance (z distance) or a dimension (e.g., h, w, d) of anobject or another spatial related measurement (e.g., a volumemeasurement, a distance measurement between any two points).

Initially, at block 602 as shown in FIG. 7, terminal 10 may obtain orcapture first image data, e.g., at least a portion of a frame of imagedata such as a first image 100 using fixed imaging subsystem 2210 (FIG.6) within a field of view 20 (FIGS. 4 and 8). For example, a user mayoperate terminal 1000 to display object 10 using fixed imaging subsystem2210 (FIG. 6) in the center of display 1222 as shown in FIG. 9. Terminal1000 can be configured so that block 602 is executed responsively totrigger 1220 (FIG. 4) being initiated. With reference again to FIG. 3,imaging the object generally in the center of the display results whenthe object is aligned with an imaging axis or optical axis 2025 of fixedimaging subsystem 2210. For example, the optical axis may be a line oran imaginary line that defines the path along which light propagatesthrough the system. The optical axis may passes through the center ofcurvature of the imaging optics assembly and may be coincident with amechanical axis of imaging subsystem 2210.

With reference again to FIG. 7, at 604, terminal 1000 may be adapted tomove an optical axis 2026 (FIG. 6) of movable imaging subsystem 2220(FIG. 6) using actuator 2300 (FIG. 6) to align second image data, e.g.,at least a portion of a frame of image data such as a second image 120using movable imaging subsystem 2220 (FIG. 6) within a field of view 20(FIGS. 4 and 10) with the first image data. As shown in FIG. 6, opticalaxis 2026 of imaging subsystem 2220 may be pivoted, tilted or deflected,for example in the direction of double-headed arrow R1 in response toactuator 2300 to align the second image of the object with the object inthe first image.

For example, the terminal may include a suitable software programemploying a subtraction routine to determine when the image of theobject in the second image data is aligned with the object in the firstimage data. The closer the aligned images of the object are, theresulting subtraction of the two images such as subtracting theamplitude of the corresponding pixels of the imagers will become smalleras the images align and match. The entire images of the object may becompared, or a portion of the images of the object may be compared.Thus, the better the images of the object are aligned, the smaller thesubtracted difference will be.

A shown in FIG. 7, at 606, an attempt to determine at least one of aheight, a width, and a depth dimension of the object is made based onmoving the optical axis of the movable imaging subsystem to align theimage of the object in the second image data with the image of theobject in the first image data. For example, the position of the angleof the optical axis is related to the distance between the terminal andthe object, and the position of the angle of the optical axis and/or thedistance between the terminal and the object may be used in combinationwith the number of pixels used for imaging the object in the imagesensor array to the determine the dimensions of the object.

With reference again to FIG. 6, the angle of the optical axis of themovable imaging subsystem relative to the terminal is related to thedistance from the movable imaging subsystem (e.g., the front of theimages sensor array) to the object (e.g., front surface, point, edge,etc.), and the angle of the optical axis of the movable imagingsubsystem relative to the terminal is related to the distance from thefixed imaging subsystem (e.g., the front of the images sensor array) tothe object (e.g., front surface, point, edge, etc.).

For example, the relationship between an angle Θ of the optical axis ofthe movable imaging subsystem relative to the terminal, a distance Afrom the fixed imaging subsystem to the object, and a distance C betweenthe fixed imaging subsystem and the movable imaging subsystem may beexpressed as follows:

tan Θ=A/C.

The relationship between angle Θ of the optical axis of the movableimaging subsystem relative to the terminal, a distance B from the fixedimaging subsystem to the object, and distance C between the fixedimaging subsystem and the movable imaging subsystem may be expressed asfollows:

cos Θ=C/B.

With reference to FIG. 11, the actual size of an object relative to thesize of the object observed on an image sensor array may be generallydefined as follows:

$\frac{h}{f} = {\frac{H}{D}.}$

where h is a dimension of the object (such as height) of the object onthe image sensor array, f is focal length of the imaging optics lens, His a dimension of the actual object (such as height), and D is distancefrom the object to the imaging optic lens.

With reference to measuring, for example a height dimension, knowing thevertical size of the imaging sensor (e.g., the height in millimeters orinches) and number of pixels vertically disposed along the imagingsensor, the height of the image of the object occupying a portion of theimaging sensor would be related to a ratio of the number of pixelsforming the imaged object to the total pixels disposed vertically alongthe image sensor.

For example, a height of an observed image on the imaging sensor may bedetermined as follows:

$h = {\frac{{observed}\mspace{14mu} {object}\mspace{14mu} {image}\mspace{14mu} {height}\mspace{14mu} ({pixels})}{{height}\mspace{14mu} {of}\mspace{14mu} {sensor}\mspace{14mu} ({pixels})} \times {height}\mspace{14mu} {of}\mspace{14mu} {sensor}\mspace{14mu} {\left( {{e.g.},{{in}\mspace{14mu} {inches}}} \right).}}$

In one embodiment, an actual height measurement may be determined asfollows:

$H = {\frac{D \times h}{f}.}$

For example, where an observed image of the object is 100 pixels high,and a distance D is 5 feet, the actual object height would be greaterthan when the observed image of the object is 100 pixels high, and adistance D is 2 feet. Other actual dimensions (e.g., width and depth) ofthe object may be similarly obtained.

From the present description, it will be appreciated that the terminalmay be setup using a suitable setup routine that is accessed by a useror by a manufacturer for coordinating the predetermined actual object todimensioning at various distances, e.g., coordinate a voltage or currentreading required to effect the actuator to align the object in thesecond image with the image of the object in the first image, to createa lookup table. Alternatively, suitable programming or algorithmsemploying, for example, the relationships described above, may beemployed to determine actual dimensions based on the number of pixelsobserved on the imaging sensor. In addition, suitable edge detection orshape identifier algorithms or processing may be employed with analyzingstandard objects, e.g., boxes, cylindrical tubes, triangular packages,etc., to determine and/or confirm determined dimensional measurements.

FIG. 12 illustrates another embodiment of an imaging subsystememployable in terminal 1000 (FIG. 4). Alignment of the second image mayalso be accomplished using a projected image pattern P from an aimeronto the object to determine the dimensions of the object. In activatingthe terminal, an aimer such as a laser aimer may project an aimerpattern onto the object. The projected aimer pattern may be a dot,point, or other pattern. The imaged object with the dot in the secondimage may be aligned, e.g., the actuator effective to move the movableimaging subsystem so that the laser dot on the imaged second imagealigns with the laser dot in the first image. The aimer pattern may beorthogonal lines or a series of dots that a user may be able to alignadjacent to or along one or more sides or edges such as orthogonal sidesor edges of the object.

In this exemplary embodiment, an imaging subsystem 3900 may include afirst fixed imaging subsystem 3210, and a second movable imagingsubsystem 3220. In addition, terminal 1000 (FIG. 4) may include anaiming subsystem 600 (FIG. 5) for projecting an aiming pattern onto theobject, in accordance with aspects of the present invention. An actuator3300 may be operably attached to imaging subsystem 3220 for movingimaging subsystem 3220. First fixed imaging subsystem 3210 is operablefor obtaining a first image of the object having an aimer pattern P suchas a point or other pattern. Second movable imaging subsystem 3220 isoperable for obtaining a second image of the object. Actuator 3300 isoperable to bring the second image into alignment with the first imagebe aligning point P in the second image with point p in the secondimage. For example, an optical axis 3026 of imaging subsystem 3220 maybe pivoted, tilted or deflected, for example in the direction ofdouble-headed arrow R2 in response to actuator 3300 to align the secondimage of the object with the object in the first image. In addition,either the first fixed imaging subsystem 3210, or the second movableimaging subsystem 3220 may also be employed to obtain an image ofdecodable indicia 15 (FIG. 4) such as a decodable barcode.

FIG. 13 illustrates another embodiment of an imaging subsystememployable in terminal 1000 (FIG. 4). In this embodiment, an imagingsubsystem 4900 may be employed in accordance with aspects of the presentinvention. For example, an imaging subsystem 4900 may include a movableimaging subsystem 4100. An actuator 4300 may be operably attached toimaging subsystem 4100 for moving imaging subsystem 4100 from a firstposition to a second position remote from the first position. Movableimaging subsystem 4100 is operable for obtaining a first image of theobject at the first position or orientation, and after taking a firstimage, moved or translate the movable imaging subsystem to a secondlocation or orientation such as in the direction of arrow L1 usingactuator 4300 to provide a distance L between the first position and thesecond position prior to aligning the object and obtaining a secondimage of the object. Actuator 4300 is also operable to bring the secondimage into alignment with the first image. For example, an optical axis4026 of imaging subsystem 4100 may be pivoted, tilted or deflected, forexample in the direction of double-headed arrow R3 in response toactuator 4100 to align the second image of the object with the object inthe first image. As noted above, terminal 1000 (FIG. 4) may include anaiming subsystem 600 (FIG. 5) for projecting an aiming pattern onto theobject in combination with imaging subsystem 4900. In addition, themovable imaging subsystem 4100 may also be employed to obtain an imageof decodable indicia 15 (FIG. 4) such as a decodable barcode.

From the present description of the various imaging subsystems andactuators, it will be appreciated that the second aligned image beperformed in an operable time after the first image so that the effectof the user holding and moving the terminal when obtaining the images orthe object moving when obtaining the image does not result in errors indetermining the one or more dimensions of the object. It is desirableminimize the time delay between the first image and the second alignedimage. For example, it may be suitable that the images be obtainedwithin about 0.5 second or less, or possibly within about ⅛ second orless, about 1/16 second or less, or about 1/32 second or less.

With reference to FIGS. 6, 11, and 12, the actuators employed in thevarious embodiments may comprise one or more actuators which arepositioned in the terminal to move the movable imagining subsystem inaccordance with instructions received from processor 1060 (FIG. 5).Examples of a suitable actuator include a shaped memory alloy (SMA)which changes in length in response to an electrical bias, a piezoactuator, a MEMS actuator, and other types of electromechanicalactuators. The actuator may allow for moving or pivoting the opticalaxis of the imaging optics assembly, or in connection with the actuatorin FIG. 13, also moving the imaging subsystem from side-to-side along aline or a curve.

As shown in FIGS. 14 and 15, an actuator 5300 may comprise fouractuators 5310, 5320, 5330, and 5430 disposed beneath each corner of animaging subsystem 5900 to movable support the imaging subsystem on acircuit board 5700. The actuators may be selected so that they arecapable of compressing and expanding and, when mounted to the circuitboard, are capable of pivoting the imaging subsystem relative to thecircuit board. The movement of imaging subsystem by the actuators mayoccur in response to a signal from the processor. The actuators mayemploy a shaped memory alloy (SMA) member which cooperates with one ormore biasing elements 5350 such as springs, for operably moving theimaging subsystem. In addition, although four actuators are shown asbeing employed, more or fewer than four actuators may be used. Theprocessor may process the comparison of the first image to the observedimage obtained from the movable imaging subsystem, and based on thecomparison, determine the required adjustment of the position of themovable imaging subsystem to align the object in the second image withthe obtained image in the first obtained image.

In addition, the terminal may include a motion sensor 1300 (FIG. 5)operably connected to processor 1060 (FIG. 5) via interface 1310 (FIG.5) operable to remove the effect of shaking due to the user holding theterminal at the same time as obtaining the first image and secondaligned image which is used for determining one of more dimensions ofthe object as described above. A suitable system for use in the abovenoted terminal may include the image stabilizer for a microcameradisclosed in U.S. Pat. No. 7,307,653 issued to Dutta, the entirecontents of which are incorporated herein by reference.

The imaging optics assembly may employ a fixed focus imaging opticsassembly. For example, the optics may be focused at a hyperfocaldistance so that objects in the images from some near distance toinfinity will be sharp. The imaging optics assembly may be focused at adistance of 15 inches or greater, in the range of 3 or 4 feet distance,or at other distances. Alternatively, the imaging optics assembly maycomprise an autofocus lens. The exemplary terminal may include asuitable shape memory alloy actuator apparatus for controlling animaging subassembly such as a microcamera disclosed in U.S. Pat. No.7,974,025 by Topliss, the entire contents of which are incorporatedherein by reference.

From the present description, it will be appreciated that the exemplaryterminal may be operably employed to separately obtain images anddimensions of the various sides of an object, e.g., two or more of afront elevational view, a side elevational view, and a top view, may beseparately obtained by a user similar to measuring an object as onewould with a ruler.

The exemplary terminal may include a suitable autofocusing microcamerasuch as a microcamera disclosed in U.S. Patent Application PublicationNo. 2011/0279916 by Brown et al., the entire contents of which isincorporated herein by reference.

In addition, it will be appreciated that the described imagingsubsystems in the embodiments shown in FIGS. 6, 12, and 13, may employfluid lenses or adaptive lenses. For example, a fluid lens or adaptivelens may comprise an interface between two fluids having dissimilaroptical indices. The shape of the interface can be changed by theapplication of external forces so that light passing across theinterface can be directed to propagate in desired directions. As aresult, the optical characteristics of a fluid lens, such its focallength and the orientation of its optical axis, can be changed. With useof a fluid lens or adaptive lens, for example, an actuator may beoperable to apply pressure to the fluid to change the shape of the lens.In another embodiments, an actuator may be operable to apply a DCvoltage across a coating of the fluid to decrease its water repellencyin a process called electrowetting to change the shape of the lens. Theexemplary terminal may include a suitable fluid lens as disclosed inU.S. Pat. No. 8,027,096 issued to Feng et al., the entire contents ofwhich is incorporated herein by reference.

With reference to FIG. 16, a timing diagram may be employed forobtaining a first image of the object for use in determining one or moredimensions as described above, and also used for decoding a decodableindicia disposed on an object using for example, the first imagingsubassembly. At the same time or generally simultaneously afteractivation of the first imaging subassembly, the movable subassembly andactuator may be activated to determine one or more dimensions asdescribed above. For example, the first frame of image data of theobject using the first imaging subassembly may be used in combinationwith the aligned image of the object using the movable imagingsubsystem.

A signal 7002 may be a trigger signal which can be made active byactuation of trigger 1220 (FIG. 4), and which can be deactivated byreleasing of trigger 1220 (FIG. 4). A trigger signal may also becomeinactive after a time out period or after a successful decode of adecodable indicia.

A signal 7102 illustrates illumination subsystem 800 (FIG. 5) having anenergization level, e.g., illustrating an illumination pattern whereillumination or light is alternatively turned on and off. Periods 7110,7120, 7130, 7140, and 7150 illustrate where illumination is on, andperiods 7115, 7125, 7135, and 7145 illustrate where illumination is off.

A signal 7202 is an exposure control signal illustrating active statesdefining exposure periods and inactive states intermediate the exposureperiods for an image sensor of a terminal. For example, in an activestate, an image sensor array of terminal 1000 (FIG. 4) is sensitive tolight incident thereon. Exposure control signal 7202 can be applied toan image sensor array of terminal 1000 (FIG. 4) so that pixels of animage sensor array are sensitive to light during active periods of theexposure control signal and not sensitive to light during inactiveperiods thereof. During exposure periods 7210, 7220, 7230, 7240, and7250, the image sensor array of terminal 1000 (FIG. 4) is sensitive tolight incident thereon.

A signal 7302 is a readout control signal illustrating the exposedpixels in the image sensor array being transferred to memory orsecondary storage in the imager so that the imager may be operable tobeing ready for the next active portion of the exposure control signal.In the timing diagram of FIG. 16, period 7410 may be used in combinationwith movable imaging subsystem to determine one or more dimensions asdescribed above. In addition, in the timing diagram of FIG. 16, periods7410, 7420, 7430, and 7440 are periods in which processer 1060 (FIG. 5)may process one or more frames of image data. For example, periods 7410,7420, 7430, and 7440 may correspond to one or more attempts to decodedecodable indicia in which the image resulted during periods whenindicia reading terminal 1000 (FIG. 4) was illuminating the decodableindicia.

With reference again to FIG. 5, indicia reading terminal 1000 mayinclude an image sensor 1032 comprising multiple pixel image sensorarray 1033 having pixels arranged in rows and columns of pixels,associated column circuitry 1034 and row circuitry 1035. Associated withthe image sensor 1032 can be amplifier circuitry 1036 (amplifier), andan analog to digital converter 1037 which converts image information inthe form of analog signals read out of image sensor array 1033 intoimage information in the form of digital signals. Image sensor 1032 canalso have an associated timing and control circuit 1038 for use incontrolling, e.g., the exposure period of image sensor 1032, gainapplied to the amplifier 1036, etc. The noted circuit components 1032,1036, 1037, and 1038 can be packaged into a common image sensorintegrated circuit 1040. Image sensor integrated circuit 1040 canincorporate fewer than the noted number of components. Image sensorintegrated circuit 1040 including image sensor array 1033 and imaginglens assembly 200 can be incorporated in hand held housing 1014.

In one example, image sensor integrated circuit 1040 can be providede.g., by an MT9V022 (752×480 pixel array) or an MT9V023 (752×480 pixelarray) image sensor integrated circuit available from Aptina Imaging(formerly Micron Technology, Inc.). In one example, image sensor array1033 can be a hybrid monochrome and color image sensor array having afirst subset of monochrome pixels without color filter elements and asecond subset of color pixels having color sensitive filter elements. Inone example, image sensor integrated circuit 1040 can incorporate aBayer pattern filter, so that defined at the image sensor array 1033 arered pixels at red pixel positions, green pixels at green pixelpositions, and blue pixels at blue pixel positions. Frames that areprovided utilizing such an image sensor array incorporating a Bayerpattern can include red pixel values at red pixel positions, green pixelvalues at green pixel positions, and blue pixel values at blue pixelpositions. In an embodiment incorporating a Bayer pattern image sensorarray, processor 1060 prior to subjecting a frame to further processingcan interpolate pixel values at frame pixel positions intermediate ofgreen pixel positions utilizing green pixel values for development of amonochrome frame of image data. Alternatively, processor 1060 prior tosubjecting a frame for further processing can interpolate pixel valuesintermediate of red pixel positions utilizing red pixel values fordevelopment of a monochrome frame of image data. Processor 1060 canalternatively, prior to subjecting a frame for further processinginterpolate pixel values intermediate of blue pixel positions utilizingblue pixel values. An imaging subsystem of terminal 1000 can includeimage sensor 1032 and lens assembly 200 for focusing an image onto imagesensor array 1033 of image sensor 1032.

In the course of operation of terminal 1000, image signals can be readout of image sensor 1032, converted, and stored into a system memorysuch as RAM 1080. Memory 1085 of terminal 1000 can include RAM 1080, anonvolatile memory such as EPROM 1082 and a storage memory device 1084such as may be provided by a flash memory or a hard drive memory. In oneembodiment, terminal 1000 can include processor 1060 which can beadapted to read out image data stored in memory 1080 and subject suchimage data to various image processing algorithms. Terminal 1000 caninclude a direct memory access unit (DMA) 1070 for routing imageinformation read out from image sensor 1032 that has been subject toconversion to RAM 1080. In another embodiment, terminal 1000 can employa system bus providing for bus arbitration mechanism (e.g., a PCI bus)thus eliminating the need for a central DMA controller. A skilledartisan would appreciate that other embodiments of the system busarchitecture and/or direct memory access components providing forefficient data transfer between the image sensor 1032 and RAM 1080 arewithin the scope and the spirit of the present invention.

Reference still to FIG. 5 and referring to further aspects of terminal1000, imaging lens assembly 200 can be adapted for focusing an image ofdecodable indicia 15 located within a field of view 20 on the objectonto image sensor array 1033. A size in target space of a field of view20 of terminal 1000 can be varied in a number of alternative ways. Asize in target space of a field of view 20 can be varied, e.g., bychanging a terminal to target distance, changing an imaging lensassembly setting, changing a number of pixels of image sensor array 1033that are subject to read out. Imaging light rays can be transmittedabout an imaging axis. Lens assembly 200 can be adapted to be capable ofmultiple focal lengths and multiple planes of optimum focus (best focusdistances).

Terminal 1000 may include illumination subsystem 800 for illumination oftarget, and projection of an illumination pattern (not shown).Illumination subsystem 800 may emit light having a random polarization.The illumination pattern, in the embodiment shown can be projected to beproximate to but larger than an area defined by field of view 20, butcan also be projected in an area smaller than an area defined by a fieldof view 20. Illumination subsystem 800 can include a light source bank500, comprising one or more light sources. Light source assembly 800 mayfurther include one or more light source banks, each comprising one ormore light sources, for example. Such light sources can illustrativelyinclude light emitting diodes (LEDs), in an illustrative embodiment.LEDs with any of a wide variety of wavelengths and filters orcombination of wavelengths or filters may be used in variousembodiments. Other types of light sources may also be used in otherembodiments. The light sources may illustratively be mounted to aprinted circuit board. This may be the same printed circuit board onwhich an image sensor integrated circuit 1040 having an image sensorarray 1033 may illustratively be mounted.

Terminal 1000 can also include an aiming subsystem 600 for projecting anaiming pattern (not shown). Aiming subsystem 600 which can comprise alight source bank can be coupled to aiming light source bank power inputunit 1208 for providing electrical power to a light source bank ofaiming subsystem 600. Power input unit 1208 can be coupled to system bus1500 via interface 1108 for communication with processor 1060.

In one embodiment, illumination subsystem 800 may include, in additionto light source bank 500, an illumination lens assembly 300, as is shownin the embodiment of FIG. 5. In addition to or in place of illuminationlens assembly 300, illumination subsystem 800 can include alternativelight shaping optics, e.g., one or more diffusers, mirrors and prisms.In use, terminal 1000 can be oriented by an operator with respect to atarget, (e.g., a piece of paper, a package, another type of substrate,screen, etc.) bearing decodable indicia 15 in such manner that theillumination pattern (not shown) is projected on decodable indicia 15.In the example of FIG. 5, decodable indicia 15 is provided by a 10barcode symbol. Decodable indicia 15 could also be provided by a 2Dbarcode symbol or optical character recognition (OCR) characters.Referring to further aspects of terminal 1000, lens assembly 200 can becontrolled with use of an electrical power input unit 1202 whichprovides energy for changing a plane of optimum focus of lens assembly200. In one embodiment, electrical power input unit 1202 can operate asa controlled voltage source, and in another embodiment, as a controlledcurrent source. Electrical power input unit 1202 can apply signals forchanging optical characteristics of lens assembly 200, e.g., forchanging a focal length and/or a best focus distance of (a plane ofoptimum focus of) lens assembly 200. A light source bank electricalpower input unit 1206 can provide energy to light source bank 500. Inone embodiment, electrical power input unit 1206 can operate as acontrolled voltage source. In another embodiment, electrical power inputunit 1206 can operate as a controlled current source. In anotherembodiment electrical power input unit 1206 can operate as a combinedcontrolled voltage and controlled current source. Electrical power inputunit 1206 can change a level of electrical power provided to(energization level of) light source bank 500, e.g., for changing alevel of illumination output by light source bank 500 of illuminationsubsystem 800 for generating the illumination pattern.

In another aspect, terminal 1000 can include a power supply 1402 thatsupplies power to a power grid 1404 to which electrical components ofterminal 1000 can be connected. Power supply 1402 can be coupled tovarious power sources, e.g., a battery 1406, a serial interface 1408(e.g., USB, RS232), and/or AC/DC transformer 1410.

Further, regarding power input unit 1206, power input unit 1206 caninclude a charging capacitor that is continually charged by power supply1402. Power input unit 1206 can be configured to output energy within arange of energization levels. An average energization level ofillumination subsystem 800 during exposure periods with the firstillumination and exposure control configuration active can be higherthan an average energization level of illumination and exposure controlconfiguration active.

Terminal 1000 can also include a number of peripheral devices includingtrigger 1220 which may be used to make active a trigger signal foractivating frame readout and/or certain decoding processes. Terminal1000 can be adapted so that activation of trigger 1220 activates atrigger signal and initiates a decode attempt. Specifically, terminal1000 can be operative so that in response to activation of a triggersignal, a succession of frames can be captured by way of read out ofimage information from image sensor array 1033 (typically in the form ofanalog signals) and then storage of the image information afterconversion into memory 1080 (which can buffer one or more of thesuccession of frames at a given time). Processor 1060 can be operativeto subject one or more of the succession of frames to a decode attempt.

For attempting to decode a barcode symbol, e.g., a one dimensionalbarcode symbol, processor 1060 can process image data of a framecorresponding to a line of pixel positions (e.g., a row, a column, or adiagonal set of pixel positions) to determine a spatial pattern of darkand light cells and can convert each light and dark cell patterndetermined into a character or character string via table lookup. Wherea decodable indicia representation is a 2D barcode symbology, a decodeattempt can comprise the steps of locating a finder pattern using afeature detection algorithm, locating matrix lines intersecting thefinder pattern according to a predetermined relationship with the finderpattern, determining a pattern of dark and light cells along the matrixlines, and converting each light pattern into a character or characterstring via table lookup.

Terminal 1000 can include various interface circuits for couplingvarious peripheral devices to system address/data bus (system bus) 1500,for communication with processor 1060 also coupled to system bus 1500.Terminal 1000 can include an interface circuit 1028 for coupling imagesensor timing and control circuit 1038 to system bus 1500, an interfacecircuit 1102 for coupling electrical power input unit 1202 to system bus1500, an interface circuit 1106 for coupling illumination light sourcebank power input unit 1206 to system bus 1500, and an interface circuit1120 for coupling trigger 1220 to system bus 1500. Terminal 1000 canalso include display 1222 coupled to system bus 1500 and incommunication with processor 1060, via an interface 1122, as well aspointer mechanism 1224 in communication with processor 1060 via aninterface 1124 connected to system bus 1500. Terminal 1000 can alsoinclude keyboard 1226 coupled to systems bus 1500 and in communicationwith processor 1060 via an interface 1126. Terminal 1000 can alsoinclude range detector unit 1210 coupled to system bus 1500 viainterface 1110. In one embodiment, range detector unit 1210 can be anacoustic range detector unit. Various interface circuits of terminal1000 can share circuit components. For example, a common microcontrollercan be established for providing control inputs to both image sensortiming and control circuit 1038 and to power input unit 1206. A commonmicrocontroller providing control inputs to circuit 1038 and to powerinput unit 1206 can be provided to coordinate timing between imagesensor array controls and illumination subsystem controls.

A succession of frames of image data that can be captured and subject tothe described processing can be full frames (including pixel valuescorresponding to each pixel of image sensor array 1033 or a maximumnumber of pixels read out from image sensor array 1033 during operationof terminal 1000). A succession of frames of image data that can becaptured and subject to the described processing can also be “windowedframes” comprising pixel values corresponding to less than a full frameof pixels of image sensor array 1033. A succession of frames of imagedata that can be captured and subject to the above described processingcan also comprise a combination of full frames and windowed frames. Afull frame can be read out for capture by selectively addressing pixelsof image sensor 1032 having image sensor array 1033 corresponding to thefull frame. A windowed frame can be read out for capture by selectivelyaddressing pixels or ranges of pixels of image sensor 1032 having imagesensor array 1033 corresponding to the windowed frame. In oneembodiment, a number of pixels subject to addressing and read outdetermine a picture size of a frame. Accordingly, a full frame can beregarded as having a first relatively larger picture size and a windowedframe can be regarded as having a relatively smaller picture sizerelative to a picture size of a full frame. A picture size of a windowedframe can vary depending on the number of pixels subject to addressingand readout for capture of a windowed frame.

Terminal 1000 can capture frames of image data at a rate known as aframe rate. A typical frame rate is 60 frames per second (FPS) whichtranslates to a frame time (frame period) of 16.6 ms. Another typicalframe rate is 30 frames per second (FPS) which translates to a frametime (frame period) of 33.3 ms per frame. A frame rate of terminal 1000can be increased (and frame time decreased) by decreasing of a framepicture size.

In numerous cases herein wherein systems and apparatuses and methods aredescribed as having a certain number of elements, it will be understoodthat such systems, apparatuses and methods can be practiced with fewerthan the mentioned certain number of elements. Also, while a number ofparticular embodiments have been described, it will be understood thatfeatures and aspects that have been described with reference to eachparticular embodiment can be used with each remaining particularlydescribed embodiment.

Another exemplary method of determining the dimensions of an objectutilizes one or more of the foregoing methods to improve the accuracy ofthe method. In particular, the method includes capturing a range imageof the object and capturing a visible image of the object (e.g., using arange camera with both an infra-red sensor and an RGB or monochromecamera). The range image and visible image are then aligned based on therelative positions from which the two images were captured.

In an exemplary embodiment, the method includes performing a firstmethod of determining the object's dimensions based on either the rangeimage or the visible image. The method then includes performing a secondmethod of determining the object's dimensions based on the other image(i.e., not the image used in the first method). The results of the firstand second methods are then compared. If the compared results are notwithin a suitable threshold, new images may be captured or the first andsecond methods may be performed again using the original images.

In another exemplary embodiment, the method includes simultaneouslyperforming a first method of determining the object's dimensions basedon the range image and a second method of determining the object'sdimensions based on the visible image. When one of the methodsdetermines one of the object's dimensions, the determined dimension isprovided to the other method, and the other method adjusts its processfor determining the object's dimensions. For example, the other methodmay assume the determined dimension to be correct or the other methodmay verify the determined dimension in view of the image it is using todetermine the object's dimensions. In other words, the method performsboth dimensioning methods simultaneously and dynamically. Such dynamicsharing of information between dimensioning methods facilitates theefficient determination of reliable dimensions of the object.

As would be recognized by one of ordinary skill in the art uponconsideration of the present disclosure, the foregoing method may beimplemented by an appropriately configured computing device (e.g.,including a processor and memory).

The foregoing disclosure has presented a number of systems, methods, anddevices for determining the dimensions of an object. Although methodshave been disclosed with respect to particular systems and/or devices,the methods may be performed using different systems and/or devices thanthose particularly disclosed. Similarly, the systems and devices mayperform different methods than those methods specifically disclosed withrespect to a given system or device. Furthermore, the systems anddevices may perform multiple methods for determining the dimensions ofan object (e.g., to increase accuracy). Aspects of each of the methodsfor determining the dimensions of an object may be used in or combinedwith other methods. Finally, components (e.g., a range camera, camerasystem, scale, and/or computing device) of a given disclosed system ordevice may be incorporated into other disclosed systems or devices toprovide increased functionality.

In the specification and/or figures, typical embodiments of theinvention have been disclosed. The present invention is not limited tosuch exemplary embodiments. The use of the term “and/or” includes anyand all combinations of one or more of the associated listed items. Thefigures are schematic representations and so are not necessarily drawnto scale. Unless otherwise noted, specific terms have been used in ageneric and descriptive sense and not for purposes of limitation.

1. An object analysis system, comprising: a scale for measuring theweight of an object; a range camera configured to produce a range imageof an area in which the object is located; and a computing deviceconfigured to determine the dimensions of the object based, at least inpart, on the range image.
 2. The object analysis system according toclaim 1, wherein the range camera is separate from the computing device.3. The object analysis system according to claim 1, wherein the scalecomprises a top surface having markings to guide a user to place theobject in a preferred orientation.
 4. The object analysis systemaccording to claim 1, wherein the computing device estimates a referenceplane from the range image; and the scale comprises a top surface havingmarkings to facilitate the computing device's estimation of thereference plane.
 5. The object analysis system according to claim 1,wherein the computing device is configured to execute shipment billingsoftware.
 6. The object analysis system according to claim 1, whereinthe scale transmits the measured weight of the object to the computingdevice.
 7. The object analysis system according to claim 6, wherein thescale transmits the measured weight to the computing device via awireless connection.
 8. The object analysis system according to claim 1,wherein the scale transmits the measured weight of the object to a hostplatform configured to execute shipment billing software.
 9. The objectanalysis system according to claim 8, wherein the scale transmits themeasured weight of the object to the host platform via a wiredconnection.
 10. The object analysis system according to claim 1, whereinthe computing device is configured to: calculate the density of theobject based on the determined dimensions and determined weight; anddetermine if the calculated density exceeds a realistic densitythreshold.
 11. The object analysis system according to claim 1,comprising a microphone for capturing audio from a user; wherein thecomputing device is configured for converting the captured audio totext.
 12. An object analysis system, comprising: a scale for measuringthe weight of an object; a range camera configured to produce a rangeimage of an area in which the object is located and a visible image ofthe scale's measured weight of the object; and a computing deviceconfigured to determine the dimensions of the object based, at least inpart, on the range image and to determine the weight of the objectbased, at least in part, on the visible image.
 13. The object analysissystem according to claim 12, wherein: the scale comprises an analogscale having a gauge; and the visible image produced by the range cameraincludes the scale's gauge.
 14. The object analysis system according toclaim 12, wherein: the scale comprises a digital scale having a display;and the visible image produced by the range camera includes the scale'sdisplay.
 15. The object analysis system according to claim 12, whereinthe object analysis system transmits the weight of the object anddetermined dimensions to a host platform configured to execute shipmentbilling software.
 16. The object analysis system according to claim 15,wherein the object analysis system transmits the weight of the objectand determined dimensions to the host platform via a wirelessconnection.
 17. An object analysis system, comprising: a scale formeasuring the weight of an object; a range camera configured to producea range image of an area in which the object is located, project avisible laser pattern onto the object, and produce a visible image ofthe object; a computing device configured to determine the dimensions ofthe object based, at least in part, on the range image and the visibleimage of the object.
 18. The object analysis system according to claim17, wherein the computing device is configured to: calculate the densityof the object based on the determined dimensions and determined weight;and determine if the calculated density exceeds a realistic densitythreshold.
 19. The object analysis system according to claim 17, whereinthe computing device estimates a reference plane from the range image;and the scale comprises a top surface having markings to facilitate thecomputing device's estimation of the reference plane.
 20. The objectanalysis system according to claim 17, wherein the computing device isconfigured to execute shipment billing software.